// globalsExtern.cc
//
// defines external links to all the global data threads will need.

#include "utility.h"
#include "system.h"
#ifdef CHANGED
#include "synch.h"
#endif
#include "TicketClerkCustomerWhiteboard.h"
#include "LineSelectionWhiteboard.h"
#include "GroupWhiteboard.h"
#include "TotalsWhiteboard.h"
#include "FoodClerkCustomerWhiteboard.h"
#include "TicketTakerCustomerWhiteboard.h"
#include "TheaterSelectionWhiteboard.h"
#include "ManagerWhiteboard.h"

extern Lock* 		ticketClerkCustomerLock[5];
extern Lock*		groupLock[40];
extern Lock*		totalsLock;
extern Lock*		ticketLineSelectionLock;
extern Lock*		foodLineSelectionLock;
extern Lock*		foodClerkCustomerLock[5];
extern Lock*		ticketTakerCustomerLock[5];
extern Lock*		takerLineSelectionLock;
extern Lock*		theaterSelectionLock;
extern Lock*		managerLock;
extern Lock*		movieTechLock;

extern Condition* 	ticketClerkCondition[5];
extern Condition* 	ticketCustomerCondition[5];
extern Condition*	headCustomerCondition[40];
extern Condition*	groupCustomerCondition[40];
extern Condition*  	totalsTicketClerkCondition;
extern Condition*  	ticketLineSelectionCondition[5];
extern Condition* 	foodClerkCondition[5];
extern Condition*	foodCustomerCondition[5];
extern Condition*	foodLineSelectionCondition[5];
extern Condition*  	totalsFoodClerkCondition;
extern Condition*	ticketTakerCondition[5];
extern Condition*	takerLineSelectionCondition[5];
extern Condition*	takerCustomerCondition[5];
extern Condition*	totalsTicketTakerCondition;
extern Condition*	theaterSeatedCustomerCondition;
extern Condition*	theaterTicketTakerCondition;
extern Condition*	movieTechCondition;
extern Condition*	managerCondition;

extern TicketClerkCustomerWhiteboard* 	ticketClerkCustomerWhiteboard[5];
extern GroupWhiteboard* 				groupWhiteboard[40];
extern LineSelectionWhiteboard* 		ticketLineSelectionWhiteboard;
extern TotalsWhiteboard* 				totalsWhiteboard;
extern FoodClerkCustomerWhiteboard*		foodClerkCustomerWhiteboard[5];
extern LineSelectionWhiteboard*			foodLineSelectionWhiteboard;
extern TicketTakerCustomerWhiteboard*	ticketTakerCustomerWhiteboard[5];
extern LineSelectionWhiteboard*			takerLineSelectionWhiteboard;
extern TheaterSelectionWhiteboard* 		theaterSelectionWhiteboard;
extern ManagerWhiteboard*				managerWhiteboard;
